Communication in a computer internetwork involves the exchange of data between two or more entities interconnected by communication media configured as local area networks (LANs) and wide area networks (WANs). The entities are typically software programs executing on hardware computer platforms, such as end stations and intermediate stations. In particular, communication software executing on the end stations correlate and manage data communication with other end stations. The stations typically communicate by exchanging discrete packets or frames of data according to predefined protocols. A protocol, in this context, consists of a set of rules defining how the stations interact with each other. For example, a LAN employs a data communication protocol (LAN standard), such as Token Ring, Ethernet or Token Bus, that defines the functions performed by the data link and physical layers of a communications architecture (i.e., a protocol stack).
To form a WAN, one or more intermediate devices are often used to interconnect multiple LANs. A bridge is an example of an intermediate station that may be used to provide a xe2x80x9cbridgingxe2x80x9d function between two or more LANs to form a relatively small domain of stations, such as a subnetwork. Subnetworks or subnets provide an organizational overlay to an internetwork that facilitates transmission of data between the end stations. A switch may be utilized to provide a xe2x80x9cswitchingxe2x80x9d function for transferring information, such as data frames, between LANs. Typically, the switch is a computer having a plurality of ports that couple the switch to several LANs and to other switches. The switching function includes receiving data frames at an inbound port and transferring them to at least one outbound port of the switch. A router is an intermediate station that interconnects subnets and executes network routing software to allow expansion of communication to end stations of other subnets. Collectively, these hardware and software components comprise a communications internetwork.
FIG. 1 is a schematic block diagram of a conventional Token Ring (TR) internetwork 100 comprising a plurality of TR LANs interconnected by conventional bridges and a router (R). Each token ring is assigned a ring number (RN), such as RN001, RN222 and RN123, and each bridge is assigned a bridge number (BN), such as BN1-3. The RNs assigned to the token rings must be unique within each bridged TR subnetwork that extends to the router. That is, RNs assigned to the token rings within each subnetwork must be different, although BNs assigned to the bridges within each subnetwork may be similar. An exception to this latter rule involves the use of redundant bridges coupling common TR LANs; here, the redundant bridges must have unique BNs in order to distinguish one another.
In the TR internetwork, there may be multiple paths between a source end station and a destination end station. To send a TR frame from a source (such as Station A) to a destination (such as Station B) along a particular path of the internetwork, the source may insert information within a routing information field (RIF) of the frame that specifies the particular path to the destination. FIG. 2 is a schematic diagram of a portion of a conventional TR frame 200 comprising destination address (DA) and source address (SA) medium access control (MAC) fields 202-204 and a RIF header 210. The RIF header 210, in turn, comprises a type (TYPE) field 212, a RIF length indicator (LENGTH) field 214, a direction bit (DIRECTION) field 216 and a ROUTE field 220 that may include a plurality of RN/BN pairs needed to describe the path. Each RN/BN pair comprises 2 bytes, wherein the RN is 12 bits and the BN is 4 bits. The RIF header 210 terminates with a 4-bit padding (PAD) field 228 of zeros.
The source typically acquires the information for insertion into the RIF through the issuance of a special TR frame called an All Routes Explorer (ARE) frame that is broadcasted throughout the TR subnetwork. An ARE frame is typically used to find all paths to a particular destination; an example of a frame used to strictly find the destination is a Spanning Tree Explorer (STE) frame. The STE frame only propagates over network segments that are along a defined spanning tree path to the destination; consequently, the destination only receives one copy of the frame. Execution of a spanning tree algorithm within the bridges results in blocking of certain ports to obviate propagation of frames around loops.
Source Route Bridging (SRB) describes a bridging technique that forwards TR frames based on the RIF information stored in the frame; an example of a frame that has a RIF is called a Specifically Routed Frame (SRF). In contrast, Transparent Bridging (TB) is a bridging technique that forwards TR frames based on their MAC addresses using a forwarding table. Source Route Transparent (SRT) bridging is a merging of the SRB and TB techniques; that is, if there is a RIF in the frame transported over an SRT bridge network, forwarding decisions are based on that RIF, whereas if there is no RIF in the frame, forwarding decisions are made based on the MAC address of the frame using the forwarding table. A TR frame that does not have a RIF is called a Non-Source Route (NSR) frame.
When issuing an ARE frame, the source (Stn A) initially sets the RIF length 214 to xe2x80x9c2xe2x80x9d (the length of the header 210) signifying that there is no information contained in the route field 220 of the RIF, and loads the type field 212 of the header with information specifying the type of frame, e.g., an ARE frame. Stn A then transmits the ARE frame over token ring RN001 where it is received by each station, including each bridge, connected to the token ring. Upon receiving the frame, each bridge inserts information into the RIF prior to forwarding a copy of the ARE frame onto its connected token ring.
In general, each bridge inserts into the RIF (i) its bridge number and (ii) the ring number of the token ring to which it is forwarding the frame; however, when a bridge receives an ARE frame having a RIF length of xe2x80x9c2xe2x80x9d, the bridge also inserts into the RIF the ring number of the token ring from which the frame is received. For example, a first BN1 inserts into the RIF the following information: the RN of the token ring from which the frame is received, its BN and the RN of the ring to which it is forwarding the frame  less than 001.1.123 greater than . The contents of the RIF thus describe the path followed by the ARE frame to reach token ring RN123.
The RIF contents for other copies of the ARE frame broadcasted throughout the TR subnetwork include (i) RIF= less than 001.1.222 greater than  and (ii) RIF= less than 001.2.222 greater than . These copies of the ARE frame are forwarded over RN222 and the bridges connected to the ring update the RIF of the ARE frames prior to forwarding them to their connected LANs. For example when bridge BN3 forwards the ARE frame to RN123, it updates the RIF header 210, including the length field 214, as a result of inserting its bridge number and connected ring number into the RIF. Thus, the contents of the RIF of an ARE frame propagating over RN123 are  less than 001.1.222.3.123 greater than . Destination (Stn B) receives three ARE frames, one of which has a RIF with contents  less than 001.1.123 greater than , another having RIF contents  less than 001.1.222.3.123 greater than  and a third having RIF contents of  less than 001.2.222.3.123 greater than .
Stn B chooses one of the ARE frames (and its RIF contents) as the route over which it returns a response frame; typically, the destination chooses the frame it received first, which may be the frame having the shortest RIF to the source. Stn B thus returns a SRF frame to the source over a path  less than 001.1.123 greater than  specified in the RIF. The frame type is indicated as a SRF frame and the direction bit is altered to enable interpretation of the contents of the RIF. In the case of a response frame, the direction bit is inverted to denote that the RIF contents are interpreted in a reverse direction to describe the path to the source.
In general, a properly functioning bridge does not forward a copy of a STE frame or an ARE frame back over a token ring from which it has already traversed. When the ARE frame is xe2x80x9cfloodedxe2x80x9d over RN001, one copy of the frame is received by bridge BN2 and forwarded to RN222, while another copy of the frame is received at a second BN1 and forwarded to RN222. Because each of these bridges reside on the same token ring, the copy of the frame forwarded over RN222 from BN2 is received by BN1 and, similarly, the copy of the frame forwarded over RN222 by BN1 is received by BN2. Yet, those bridges do not forward copies of the frames back onto RN001 because the ARE frames previously traversed that ring. Specifically, BN1 examines the contents of the RIF and, upon detecting that the ARE frame had previously traversed RN001, blocks its port to that token ring. Blocking of the port effectively discards the frame and prevents it from circulating endlessly around a loop, while also preventing end stations from receiving multiple copies of the frame.
A token ring network is typically implemented through the use of TR concentrators (or xe2x80x9chubsxe2x80x9d) interconnected in a xe2x80x9cdaisy chainxe2x80x9d manner, wherein each concentrator is coupled to end stations via point-to-point wire cables 310. FIG. 3 is a schematic diagram of a conventional TR concentrator network arrangement 300. Collectively, the interconnected concentrators 302-308 form a physical loop/ring configuration that starts at a first TR concentrator 302 and continues through each end station coupled to the concentrator; this configuration extends to each connected TR concentrator up to a last concentrator 308, where it xe2x80x9cloops-backxe2x80x9d to the first concentrator. Access to the ring is determined in accordance with a token message that propagates among all of the end stations coupled to the ring. A problem with this conventional network arrangement involves the limited bandwidth available to each station over the cables 310; for example, all stations coupled to the physical token ring share 16 megabits per second (Mbps) of bandwidth. In contrast, intermediate stations (switches) in an Ethernet environment are interconnected by 100 Mbps xe2x80x9cpipesxe2x80x9d that increase the bandwidth available per station.
One way to achieve additional bandwidth in a token ring environment is to apportion the token ring into smaller subrings, each of which is coupled to a bridge. Yet, apportioning a token ring network into subrings requires careful consideration because of the limitations associated with token ring networks. Since each ring number comprises 12 bits, there is only a finite number of ring numbers available per subnet. The total length of the RIF of a TR frame is less than or equal to 30 bytes, thus limiting the RIF to a total of fourteen (14) RN/BN pairs for the typical TR frame 200. Moreover, subrings do not generally scale well for modem networking environments wherein each server coupled to the network requires its own TR concentrator to achieve necessary bandwidth requirements.
Another approach to increasing bandwidth in a token ring environment involves the use of intermediate stations that are compatible with the Dedicated Token Ring (DTR) bridge standard promulgated by the Institute of Electrical and Electronics Engineers (IEEE) in Annex K to the IEEE 802.5 standard (hereinafter xe2x80x9cAnnex Kxe2x80x9d), which is governs token ring LANs. Annex K defines a 2-tier switching model for a single LAN switch containing a Bridge Relay Function (BRF) to bridge between ports of different ring numbers and a Concentrator Relay Function (CRF) to switch between ports of the same ring number.
FIG. 4 is a schematic diagram of a switch 400 containing a plurality of CRFs (CRF111-333) coupled to a BRF1 to provide bridging and switching operations among physical token ring (TR) media/segments coupled to the switch. Each CRF has a plurality of ports that interconnect a plurality of TR segments into one logical token ring having a single ring number. This arrangement is advantageous because it increases the total available bandwidth per logical token ring. That is, for a 4-port switch arrangement, a total of 64 Mbps of bandwidth is available for, e.g., CRF111.
Functionally, the CRF xe2x80x9cswitchesxe2x80x9d TR frames from one TR segment to another, while the BRF xe2x80x9cbridgesxe2x80x9d those frames between different CRFs. That is, rather than or in addition to forwarding frames from one TR segment to another, CRF111 may pass them to its associated BRF1 which may, in turn, forward the frames to CRF222. CRF222 may then forward the frames over one of its TR segments. Thus, the 2-tier switching model allows BRF1 to transfer TR frames between different logical token ring numbers.
FIG. 5 is a schematic block diagram of a conventional bridging arrangement 500 comprising a plurality of switches SW1-2 with a plurality of BRFs (BRF1-3), each of which is coupled to a plurality of CRFs. In general, coupling of a BRF to the CRFs forms a subnetwork; multiple subnetworks may then be interconnected by a router (R) located internal (or external) to a switch. However, a CRF may be extended from one physical location to another using a wire 510 that connects one port of the CRF in a switch to another port of the CRF in another switch.
For example, CRF222 may be defined in each switch SW1-2 and its function logically extended between the switches by coupling two ports through the wire 510. Although this enables its ports to occupy a single logical ring number, CRF222 is logically coupled between two different BRFs (BRF1 and BRF2). Each BRF in the switches has an assigned bridge number (BN) and constitutes a bridge hop. Notably, the wire 510 used to couple the CRF ports of the switches SW1-2 is generally similar to the cable 310 coupling stations/concentrators of a token ring and, thus, supports 16 Mbps of bandwidth.
It is apparent that CRFs and BRFs are logical constructs that may be variously configured and defined to perform bridging and switching operations when forwarding frames. For example, multiple CRFs can be logically configured to one or more BRFs (using wires to interconnect CRF ports) to form a subnetwork. However, in a large campus environment having many switches interconnected by such wires, the maximum number of RN/BN pairs in a RIF of a TR frame would be quickly exhausted since each BRF is a hop that consumes a bridge number. The ring and bridge numbers of a subnetwork, along with length of the RIF of a TR frame, are critical resources of a token ring environment. The present invention is directed, in part, to reducing the number of hops in a network and conserving the RIF of a TR frame. Annex K describes two or more BRF functions within a single switch; the invention described herein is further directed to logically extending a BRF function between different, physically-disperse switches.
The invention comprises a distributed token ring (TR) bridge having a logical switch fabric that is distributed over a TR switching network of switches interconnected by trunk links. The distributed TR bridge includes a plurality of TR switches, each having a Bridge Relay Function (BRF) logically coupled to at least one Concentrator Relay Function (CRF). According to the invention, distribution of the switch fabric essentially comprises logically distributing the BRF function among the network of switches.
In the illustrative embodiment, each switch of the distributed TR bridge comprises port and trunk interface circuitry. The port interface circuitry includes a plurality of TR ports that interconnect a plurality of TR media segments, whereas the trunk interface circuits are interconnected by the trunk links. The distributed TR bridge further comprises BRF/CRF constructs xe2x80x9coverlayedxe2x80x9d onto the platform circuitry to create a logically-defined relationship among the ports and CRFs, and among the switches and distributed BRF switch fabric.
The port interface circuitry is further coupled to a modified forwarding table and a CRF table, whereas the trunk interface circuitry is coupled to a virtual local area network (VLAN) table in addition to the modified forwarding table and CRF table. The VLAN table is used by the trunk interface circuitry to acquire information such as CRF VLAN identifiers (IDs) pertaining to TR frames flowing through the circuitry. The CRF table provides information such as a VLAN ID corresponding to a CRF ring number, while the modified forwarding table is used by the port and trunk interface circuits to select a destination port or ports for receiving a TR frame.
Inbound frame parsing operations, along with inbound frame forwarding operations, for an incoming TR frame are rendered at the port or trunk interface circuitry of an inbound port receiving the frame. The inbound frame forwarding operations comprise both learning and destination selection (i.e., forwarding decision) operations. The forwarding decision rendered by the port interface circuitry may be carried over the trunking link (if necessary) to the distributed portions of the TR switching bridge environment. In addition, outbound frame processing operations are performed by an outbound port when the incoming frame is copied to that latter port.
An advantage of the present invention is a reduction in the number of bridge xe2x80x9chopsxe2x80x9d in a network. By distributing a BRF switch fabric among multiple switches, the number of hops between end stations coupled to CRFs within different switches is reduced. A reduction in the number of bridge hops also conserves the routing information field of a TR frame. Another advantage of the present invention is that high-speed trunks, rather than 16 Mbps TR port wires, can be used to interconnect the switches of the distributed bridge.